-- *****************************************************************
-- REDSTONE-ATM-MIB
--
-- Redstone Communications Inc. Enterprise MIB
-- ATM MIB
--
-- Copyright 1998 Redstone Communications, Incorporated.
-- All Rights Reserved.
-- *****************************************************************

REDSTONE-ATM-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Integer32, Counter64, Counter32
                FROM SNMPv2-SMI

        RowStatus
                FROM SNMPv2-TC

    InterfaceIndex, InterfaceIndexOrZero
        FROM IF-MIB

        rsMgmt
                FROM REDSTONE-SMI

    RsNextIfIndex
        FROM REDSTONE-TC;


rsAtmMIB  MODULE-IDENTITY
        LAST-UPDATED "200008020000Z"
        ORGANIZATION "Redstone Communications, Inc."
        CONTACT-INFO
        "
        Redstone Communications, Inc.
                5 Carlisle Road
        Westford MA 01886
        USA
        Tel:    +1-978-692-1999
                Email:  mib@redstonecom.com
        "
        DESCRIPTION
                "Added the rsAtmCirciotOamStatisticsTable"
        REVISION      "200008020000Z"
        DESCRIPTION
                "Added the rsAtmPvcStatisticsTable" 
        REVISION      "0001130000Z"

        DESCRIPTION
                "Initial version of this MIB module."
        ::= { rsMgmt 8 }

-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Textual conventions
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

-- No textual conventions are defined in this MIB.


-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Managed objects
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

rsAtmObjects     OBJECT IDENTIFIER ::= { rsAtmMIB 1 }

-- 
-- This MIB contains managed objects for each of three interface
-- layers: ATM; AAL5; and ATM Subinterface. For each of these layers,
-- management objects are provided to query for an available
-- interface index, and to create/delete interfaces of that type.
-- Creating/deleting these interface types using this MIB has
-- the side effect of creating/deleting corresponding entries
-- in the Interface MIB ifTable/ifXTable, and in the Redstone
-- Enterprise Interface MIB rsIfTable.
--

rsAtmIfLayer        OBJECT IDENTIFIER ::= { rsAtmObjects 1 }
rsAtmAal5IfLayer    OBJECT IDENTIFIER ::= { rsAtmObjects 2 }
rsAtmSubIfLayer     OBJECT IDENTIFIER ::= { rsAtmObjects 3 }


-- //////////////////////////////////////////////////////////////////////
--
-- ATM LAYER
--
-- //////////////////////////////////////////////////////////////////////

--
-- IfIndex selection for creating new ATM interfaces
--

rsAtmNextIfIndex OBJECT-TYPE
    SYNTAX      RsNextIfIndex
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Coordinate ifIndex value allocation for entries
        in rsAtmIfTable.

        A GET of this object returns the next available ifIndex 
        value to be used to create an entry in the associated
        interface table; or zero, if no valid ifIndex value is
        available. This object also returns a value of zero when 
        it is the lexicographic successor of a varbind presented 
        in an SNMP GETNEXT or GETBULK request, for which circumstance
        it is assumed that ifIndex allocation is unintended.

        Successive GETs will typically return different
        values, thus avoiding collisions among cooperating
        management clients seeking to create table entries
        simultaneously.
        "
    ::= { rsAtmIfLayer 1 }

--
-- The ATM Interface Table
--

rsAtmIfTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RsAtmIfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains entries for ATM interfaces present in the system."
    ::= { rsAtmIfLayer 2 }

rsAtmIfEntry OBJECT-TYPE
    SYNTAX      RsAtmIfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each entry describes the characteristics of an ATM interface. 
        Creating/deleting entries in this table causes corresponding 
        entries for be created /deleted in ifTable/ifXTable/rsIfTable."
    INDEX   { rsAtmIfIndex }
    ::= { rsAtmIfTable 1 }

RsAtmIfEntry ::= SEQUENCE {
    rsAtmIfIndex
        InterfaceIndex,
    rsAtmIfRowStatus
        RowStatus,
    rsAtmIfLowerIfIndex
        InterfaceIndexOrZero,
    rsAtmIfIlmiVpi
        Integer32,
    rsAtmIfIlmiVci
        Integer32,
    rsAtmIfIlmiVcd
        Integer32,
    rsAtmIfIlmiPollFrequency
        Integer32,
    rsAtmIfIlmiAdminState
        INTEGER,
    rsAtmIfUniVersion
        INTEGER,
    rsAtmIfOamCellRxAdminState
        INTEGER
    }


rsAtmIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The ifIndex of the ATM interface. When 
        creating entries in this table, suitable values
        for this object are determined by reading
        rsAtmNextIfIndex."
    ::= { rsAtmIfEntry 1 }

rsAtmIfRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Controls creation/deletion of entries in this table
        according to the RowStatus textual convention, 
        constrained to support the following values only:

            createAndGo
            destroy
            
        To create an entry in this table, the following 
        entry objects MUST be explicitly configured:

            rsAtmIfRowStatus
            rsAtmIfLowerIfIndex

        In addition, when creating an entry the following
        conditions must hold:

            A value for rsAtmIfIndex must have been determined
            previously, by reading rsAtmNextIfIndex. 

        A corresponding entry in ifTable/ifXTable/rsIfTable is 
        created/destroyed as a result of creating/destroying an entry 
        in this table.
        "
    ::= { rsAtmIfEntry 2 }

rsAtmIfLowerIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndexOrZero
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The ifIndex of an interface over which this ATM interface 
        is to be layered. A value of zero indicates no layering.
        An implementation may choose to require that a nonzero value
        be configured at entry creation."
    ::= { rsAtmIfEntry 3 }

rsAtmIfIlmiVpi OBJECT-TYPE
    SYNTAX      Integer32 (0..255)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The VPI of the Ilmi of a major ATM interface."
    DEFVAL { 0 }
    ::= { rsAtmIfEntry 4 }

rsAtmIfIlmiVci OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The VCI of the Ilmi of a major ATM interface."
    DEFVAL { 16 }
    ::= { rsAtmIfEntry 5 }

rsAtmIfIlmiVcd OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "An integer identifier for the Ilmi, used in conjunction
        with the command-line interface.

        The value must be unique among VCs configured on the same 
        ATM interface.
        "
    DEFVAL { 0 }
    ::= { rsAtmIfEntry 6 }

rsAtmIfIlmiPollFrequency OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Use to set the Interim Local Management Interface (ILMI)
        keepalive timer. This value sets the allowable time between
        POLL PDU transmissions if there are no pending sequence data
        PDUs. Use the value 0 to disable ILMI keepalives."
    ::= { rsAtmIfEntry 7 }

rsAtmIfIlmiAdminState OBJECT-TYPE
    SYNTAX      INTEGER {
                    disabled(0),
                    enabled(1)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The administrative status of ILMI in the ATM interface."
    ::= { rsAtmIfEntry 8 }

rsAtmIfUniVersion OBJECT-TYPE
    SYNTAX      INTEGER {
                    version3Dot0(0),
                    version3Dot1(1),
                    version4Dot0(2)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Use to specify the User Network Interface (UNI) the router
        should use when ILMI link auto determination is unsuccesful
        or ILMI is disabled."
    ::= { rsAtmIfEntry 9 }

rsAtmIfOamCellRxAdminState OBJECT-TYPE
    SYNTAX      INTEGER {
                    oamCellAdminStateDisabled(0),
                    oamCellAdminStateEnabled(1)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
         "Use to specify the OAM Cell Administrative state on this interface"
    ::= { rsAtmIfEntry 10 }

-- //////////////////////////////////////////////////////////////////////
--
-- AAL5 LAYER
--
-- //////////////////////////////////////////////////////////////////////

--
-- IfIndex selection for creating new ATM AAL5 interfaces
--

rsAtmAal5NextIfIndex OBJECT-TYPE
    SYNTAX      RsNextIfIndex
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Coordinate ifIndex value allocation for entries
        in rsAtmAal5IfTable.

        A GET of this object returns the next available ifIndex 
        value to be used to create an entry in the associated
        interface table; or zero, if no valid ifIndex value is
        available. This object also returns a value of zero when 
        it is the lexicographic successor of a varbind presented 
        in an SNMP GETNEXT or GETBULK request, for which circumstance
        it is assumed that ifIndex allocation is unintended.

        Successive GETs will typically return different
        values, thus avoiding collisions among cooperating
        management clients seeking to create table entries
        simultaneously.
        "
    ::= { rsAtmAal5IfLayer 1 }

--
-- The ATM AAL5 Interface Table
--

rsAtmAal5IfTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RsAtmAal5IfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains entries for ATM AAL5 interfaces present in the system."
    ::= { rsAtmAal5IfLayer 2 }

rsAtmAal5IfEntry OBJECT-TYPE
    SYNTAX      RsAtmAal5IfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each entry describes the characteristics of an ATM AAL5 interface. 
        Creating/deleting entries in this table causes corresponding 
        entries for be created /deleted in ifTable/ifXTable/rsIfTable."
    INDEX   { rsAtmAal5IfIndex }
    ::= { rsAtmAal5IfTable 1 }

RsAtmAal5IfEntry ::= SEQUENCE {
    rsAtmAal5IfIndex
        InterfaceIndex,
    rsAtmAal5IfRowStatus
        RowStatus,
    rsAtmAal5IfLowerIfIndex
        InterfaceIndexOrZero
    }


rsAtmAal5IfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The ifIndex of the ATM AAL5 interface. When 
        creating entries in this table, suitable values
        for this object are determined by reading
        rsAtmAal5NextIfIndex."
    ::= { rsAtmAal5IfEntry 1 }

rsAtmAal5IfRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Controls creation/deletion of entries in this table
        according to the RowStatus textual convention, 
        constrained to support the following values only:

            createAndGo
            destroy
            
        To create an entry in this table, the following 
        entry objects MUST be explicitly configured:

            rsAtmAal5IfRowStatus
            rsAtmAal5IfLowerIfIndex

        In addition, when creating an entry the following
        conditions must hold:

            A value for rsAtmAal5IfIndex must have been determined
            previously, by reading rsAtmAal5NextIfIndex. 

        A corresponding entry in ifTable/ifXTable/rsIfTable is 
        created/destroyed as a result of creating/destroying an entry 
        in this table.
        "
    ::= { rsAtmAal5IfEntry 2 }

rsAtmAal5IfLowerIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndexOrZero
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The ifIndex of an ATM interface over which this ATM AAL5 interface 
        is to be layered. A value of zero indicates no layering.
        An implementation may choose to require that a nonzero value
        be configured at entry creation."
    ::= { rsAtmAal5IfEntry 3 }


-- //////////////////////////////////////////////////////////////////////
--
-- ATM SUBINTERFACE LAYER
--
-- //////////////////////////////////////////////////////////////////////

--
-- IfIndex selection for creating new ATM Subinterfaces
--

rsAtmSubIfNextIfIndex OBJECT-TYPE
    SYNTAX      RsNextIfIndex
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Coordinate ifIndex value allocation for entries
        in rsAtmSubIfTable.

        A GET of this object returns the next available ifIndex 
        value to be used to create an entry in the associated
        interface table; or zero, if no valid ifIndex value is
        available. This object also returns a value of zero when 
        it is the lexicographic successor of a varbind presented 
        in an SNMP GETNEXT or GETBULK request, for which circumstance
        it is assumed that ifIndex allocation is unintended.

        Successive GETs will typically return different
        values, thus avoiding collisions among cooperating
        management clients seeking to create table entries
        simultaneously.
        "
    ::= { rsAtmSubIfLayer 1 }

--
-- The ATM Subinterface Table
--

rsAtmSubIfTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RsAtmSubIfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains entries for ATM Subinterfaces present in the system."
    ::= { rsAtmSubIfLayer 2 }

rsAtmSubIfEntry OBJECT-TYPE
    SYNTAX      RsAtmSubIfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each entry describes the characteristics of an ATM Subinterface. 
        Creating/deleting entries in this table causes corresponding 
        entries for be created /deleted in ifTable/ifXTable/rsIfTable."
    INDEX   { rsAtmSubIfIndex }
    ::= { rsAtmSubIfTable 1 }

RsAtmSubIfEntry ::= SEQUENCE {
    rsAtmSubIfIndex
        InterfaceIndex,
    rsAtmSubIfRowStatus
        RowStatus,
    rsAtmSubIfDistinguisher
        Integer32,
    rsAtmSubIfLowerIfIndex
        InterfaceIndexOrZero
    }


rsAtmSubIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The ifIndex of the ATM Subinterface. When 
        creating entries in this table, suitable values
        for this object are determined by reading
        rsAtmSubNextIfIndex."
    ::= { rsAtmSubIfEntry 1 }

rsAtmSubIfRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Controls creation/deletion of entries in this table
        according to the RowStatus textual convention, 
        constrained to support the following values only:

            createAndGo
            destroy
            
        To create an entry in this table, the following 
        entry objects MUST be explicitly configured:

            rsAtmSubIfRowStatus
            rsAtmSubIfLowerIndex

        In addition, when creating an entry the following
        conditions must hold:

            A value for rsAtmSubIfIndex must have been determined
            previously, by reading rsAtmSubIfNextIfIndex. 

        A corresponding entry in ifTable/ifXTable/rsIfTable is 
        created/destroyed as a result of creating/destroying an entry 
        in this table.
        "
    ::= { rsAtmSubIfEntry 2 }

rsAtmSubIfDistinguisher OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "An integer identifier for the sub interface, used in
        conjunction with the command-line interface. It is provided
        here for cross-reference purposes only.

        The value must be unique among sub interfaces configured on
        the same underlying ATM adaptation layer. The upper bound
        for the value is further constrained to be identical with
        the maximum number of sub interfaces supported by the lower
        interface.

        If this object is not configured, a value will be allocated 
        internally and can be queried after table entry creation has
        succeeded.
        "
    ::= { rsAtmSubIfEntry 3 }

rsAtmSubIfLowerIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndexOrZero
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The ifIndex of an ATM AAL5 interface over which this ATM Subinterface 
        is to be layered. A value of zero indicates no layering.
        An implementation may choose to require that a nonzero value
        be configured at entry creation."
    ::= { rsAtmSubIfEntry 4 }

--
-- The ATM Subinterface VCC Table
--

rsAtmSubIfVccTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RsAtmSubIfVccEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains entries for ATM VCCs configured on 
        ATM Subinterfaces present in the system.

        An implementation may constrain the number of VCCs permitted
        to be configured per ATM Subinterface; in particular,
        an implementation may restrict each ATM Subinterface to
        have a single VCC.
        
        Attributes in this entry can only be configured at entry creation,
        and remain fixed for the lifetime of the entry.
        "
    ::= { rsAtmSubIfLayer 3 }

rsAtmSubIfVccEntry OBJECT-TYPE
    SYNTAX      RsAtmSubIfVccEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each entry describes the characteristics of an ATM Subinterface VCC."
    INDEX   { rsAtmSubIfIndex, rsAtmSubIfVccVpi, rsAtmSubIfVccVci }
    ::= { rsAtmSubIfVccTable 1 }

RsAtmSubIfVccEntry ::= SEQUENCE {
    rsAtmSubIfVccVpi
        Integer32,
    rsAtmSubIfVccVci
        Integer32,
    rsAtmSubIfVccRowStatus
        RowStatus,
    rsAtmSubIfVccVcd
        Integer32,
    rsAtmSubIfVccType
        INTEGER,
    rsAtmSubIfVccServiceCategory
        INTEGER,
    rsAtmSubIfVccPcr
        Integer32,
    rsAtmSubIfVccScr
        Integer32,
    rsAtmSubIfVccMbs
        Integer32
    }


rsAtmSubIfVccVpi OBJECT-TYPE
    SYNTAX      Integer32 (0..255)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The VPI of the ATM VCC used by this subinterface."
    ::= { rsAtmSubIfVccEntry 1 }

rsAtmSubIfVccVci OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The VCI of the ATM VCC used by this subinterface."
    ::= { rsAtmSubIfVccEntry 2 }

rsAtmSubIfVccRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Controls creation/deletion of entries in this table
        according to the RowStatus textual convention, 
        constrained to support the following values only:

            createAndGo
            destroy
            
        To create an entry in this table, the following 
        entry objects MUST be explicitly configured:

            rsAtmSubIfVccRowStatus

        In addition, when creating an entry the following
        conditions must hold:

            The ATM Subinterface identified by rsAtmSubIfIndex must exist.

            A positive value configured for rsAtmSubIfVccVcd must not 
            already be assigned to an existing VCC.

            For each value of rsAtmSubIfVccServiceCategory, additional
            dependent objects in the entry require configuration as 
            identified here:

            rsAtmSubIfVccServiceCategory    Requires configuration of:
            ------------------------------------------------------------
            ubr                             <none>

            ubrPcr                          rsAtmSubIfVccPcr

            nrtVbr                          rsAtmSubIfVccPcr
                                            rsAtmSubIfVccScr
                                            rsAtmSubIfVccMbs

            cbr                             rsAtmSubIfVccPcr    
            ------------------------------------------------------------

        Attributes in this entry can only be configured at entry creation,
        and remain fixed for the lifetime of the entry.
        "
    ::= { rsAtmSubIfVccEntry 3 }

rsAtmSubIfVccVcd OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "An integer identifier for the circuit, used in conjunction
        with the command-line interface. It is provided here for
        cross-reference purposes only.

        The value must be unique among VCCs configured on the same 
        underlying ATM interface. The upper bound for the value is
        further constrained to be identical with the maximum number
        of VCCs supported by the underlying ATM interface.

        If this object is not configured, or is configured with a 
        value of zero, a value will be allocated internally and can
        be queried after table entry creation has succeeded.
        "
    ::= { rsAtmSubIfVccEntry 4 }

rsAtmSubIfVccType OBJECT-TYPE
    SYNTAX      INTEGER {
                    rfc1483VcMux(0),
                    rfc1483Llc(1)
                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Specifies the encapsulation used by the circuit
        to carry IP datagrams. Encapsulations are as specified
        in RFC1483 Multiprotocol Interconnect over ATM."
    DEFVAL { rfc1483VcMux }
    ::= { rsAtmSubIfVccEntry 5 }

rsAtmSubIfVccServiceCategory OBJECT-TYPE
    SYNTAX      INTEGER {
                    ubr(0),
                    ubrPcr(1),
                    nrtVbr(2),
                    cbr(3)
                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Service category for this circuit:

        ubr         Unspecified bit rate (best effort).

        ubrPcr      Unspecified Bit Rate with Peak Cell Rate limit.

        nrtVbr      Non-realtime Variable Bit Rate.

        cbr         Constant bit rate.
        "
    DEFVAL { ubr }
    ::= { rsAtmSubIfVccEntry 6 }

rsAtmSubIfVccPcr OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "cells per second"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Peak Cell Rate, in cells per second, of this circuit.

        This parameter is only required when rsAtmSubIfVccServiceCategory
        is configured to have one of the following values:

            ubrPcr
            nrtVbr
            cbr
        "
    DEFVAL { 0 }
    ::= { rsAtmSubIfVccEntry 7 }

rsAtmSubIfVccScr OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "cells per second"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Sustained Cell Rate, in cells per second, of this circuit.

        This parameter is only required when rsAtmSubIfVccServiceCategory
        is configured to have one of the following values:

            nrtVbr
        "
    DEFVAL { 0 }
    ::= { rsAtmSubIfVccEntry 8 }

rsAtmSubIfVccMbs OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "cells"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Maximum Burst Size, in cells, of this circuit.

        This parameter is only required when rsAtmSubIfVccServiceCategory
        is configured to have one of the following values:

            nrtVbr
        "
    DEFVAL { 0 }
    ::= { rsAtmSubIfVccEntry 9 }

--
-- The ATM OAM Table
--
rsAtmCircuitOamTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RsAtmCircuitOamEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains circuit OAM data for a PVC."
    ::= { rsAtmSubIfLayer 4 }

rsAtmCircuitOamEntry OBJECT-TYPE
    SYNTAX      RsAtmCircuitOamEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each entry provides OAM data on an ATM PVC."
    INDEX   { rsAtmCircuitOamIfIndex, rsAtmCircuitOamVpi, rsAtmCircuitOamVci }
    ::= { rsAtmCircuitOamTable 1 }

RsAtmCircuitOamEntry ::= SEQUENCE {
    rsAtmCircuitOamIfIndex
        InterfaceIndex,
    rsAtmCircuitOamVpi
        Integer32,
    rsAtmCircuitOamVci
        Integer32,
    rsAtmCircuitOamAdminStatus
        INTEGER,
    rsAtmCircuitOamLoopbackOperStatus
        INTEGER,
    rsAtmCircuitVcOamOperStatus
        INTEGER,
    rsAtmCircuitOamLoopbackFrequency
        Integer32,
    rsAtmCircuitInOamF5Cells
        Counter32,
    rsAtmCircuitInOamCellsDropped
        Counter32,
    rsAtmCircuitOutOamF5Cells
        Counter32,
    rsAtmCircuitInOamF5EndToEndLoopbackCells
        Counter32,
    rsAtmCircuitInOamF5SegmentLoopbackCells
        Counter32,
    rsAtmCircuitInOamF5AisCells
        Counter32,
    rsAtmCircuitInOamF5RdiCells
        Counter32,
    rsAtmCircuitOutOamF5EndToEndLoopbackCells
        Counter32,
    rsAtmCircuitOutOamF5SegmentLoopbackCells
        Counter32,
    rsAtmCircuitOutOamF5RdiCells
        Counter32
}

rsAtmCircuitOamIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The ifIndex of the ATM subinterface."
    ::= { rsAtmCircuitOamEntry 1 }

rsAtmCircuitOamVpi OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The VPI of the ATM VCC used by this ATM interface and PVC."
    ::= { rsAtmCircuitOamEntry 2 }

rsAtmCircuitOamVci OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The VCI of the ATM VCC used by this ATM interface and PVC."
    ::= { rsAtmCircuitOamEntry 3 }

rsAtmCircuitOamAdminStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                    oamAdminStateDisabled(1),
                    oamAdminStateEnabled(2)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The administrative state of OAM for the interface identified
         by this entry."
    DEFVAL { 1 }
    ::= { rsAtmCircuitOamEntry 4 }

rsAtmCircuitOamLoopbackOperStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                    oamOperStatusNotSupported(0),
                    oamOperStatusDisabled(1),
                    oamOperStatusSent(2),
                    oamOperStatusReceived(3),
                    oamOperStatusFailed(4)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The operational status of OAM for the interface identified
         by this entry.
                    oamOperStatusNotSupported(0) - OAM not supported on this interface
                    oamOperStatusDisabled(1)     - VC integrity disabled
                    oamOperStatusSent(2)         - Loopback sent, awaiting response
                    oamOperStatusReceived(3)     - Loopback response received, awaiting
                                                   frequency
                    oamOperStatusFailed(4)       - Loopback response not received, or
                                                   invalid response received"
    ::= { rsAtmCircuitOamEntry 5 }

rsAtmCircuitVcOamOperStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                   oamVcOperStateAisState(0),
                   oamVcOperStateRdiState(1),
                   oamVcOperStateDownRetry(2),
                   oamVcOperStateUpRetry(3),
                   oamVcOperStateUp(4),
                   oamVcOperStateDown(5),
                   oamVcOperStateNotManaged(6)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The OAM VC operational status of this entry.
                   oamVcOperStateAisState(0)  - AIS cell received or underlying physical
                                                layer reporting transmission path AIS

                   oamVcOperStateRdiState(1)  - RDI cell received

                   oamVcOperStateDownRetry(2) - OAM loopback failed, using retry frequency
                                                to verify that the VC is really down.
                   oamVcOperStateUpRetry(3)   - OAM loopback successful, using retry frequency
                                                to verify that the VC is really up.
                   oamVcOperStateUp(4)        - OAM loopback successful after up retry
                                                verification
                   oamVcOperStateDown(5)      - OAM loopback failed after down retry verification
                   oamVcOperStateNotManaged(6)- No verification via loopback cells being performed."
    ::= { rsAtmCircuitOamEntry 6 }

rsAtmCircuitOamLoopbackFrequency OBJECT-TYPE
    SYNTAX      Integer32 (0 .. 600)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The OAM loopback frequency for the interface identified by this
         entry."
    DEFVAL { 10 }
    ::= { rsAtmCircuitOamEntry 7 }

rsAtmCircuitInOamF5Cells OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Received OAM F5 cells"
    ::= { rsAtmCircuitOamEntry 8 }

rsAtmCircuitInOamCellsDropped OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Received OAM cells that were dropped."
    ::= { rsAtmCircuitOamEntry 9 }

rsAtmCircuitOutOamF5Cells OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Transmitted OAM F5 cells"
    ::= { rsAtmCircuitOamEntry 10 }

rsAtmCircuitInOamF5EndToEndLoopbackCells OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Received OAM F5 end-to-end loopback cells"
    ::= { rsAtmCircuitOamEntry 11 }

rsAtmCircuitInOamF5SegmentLoopbackCells OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Received OAM F5 segment loopback cells"
    ::= { rsAtmCircuitOamEntry 12 }

rsAtmCircuitInOamF5AisCells OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Received OAM F5 AIS cells"
    ::= { rsAtmCircuitOamEntry 13 }

rsAtmCircuitInOamF5RdiCells OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Received OAM F5 RDI cells"
    ::= { rsAtmCircuitOamEntry 14 }

rsAtmCircuitOutOamF5EndToEndLoopbackCells OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Transmitted OAM F5 end-to-end loopback cells"
    ::= { rsAtmCircuitOamEntry 15 }

rsAtmCircuitOutOamF5SegmentLoopbackCells OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Transmitted OAM F5 segment loopback cells"
    ::= { rsAtmCircuitOamEntry 16 }

rsAtmCircuitOutOamF5RdiCells OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Transmitted OAM F5 RDI cells"
    ::= { rsAtmCircuitOamEntry 17 }


--
-- The ATM VPI/VCI Statistics Table
--

rsAtmPvcStatisticsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RsAtmPvcStatisticsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains statistics for PVC entries."
    ::= { rsAtmIfLayer 3 }

rsAtmPvcStatisticsEntry OBJECT-TYPE
    SYNTAX      RsAtmPvcStatisticsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each entry provides statistics on an ATM PVC."
    INDEX   { rsAtmPvcStatsIfIndex, rsAtmPvcStatsVpi, rsAtmPvcStatsVci }
    ::= { rsAtmPvcStatisticsTable 1 }

RsAtmPvcStatisticsEntry ::= SEQUENCE {
    rsAtmPvcStatsIfIndex
        InterfaceIndex,
    rsAtmPvcStatsVpi
        Integer32,
    rsAtmPvcStatsVci
        Integer32,
    rsAtmPvcStatsInCells
        Counter64,
    rsAtmPvcStatsInCellOctets
        Counter64,
    rsAtmPvcStatsInPackets
        Counter64,
    rsAtmPvcStatsInPacketOctets
        Counter64,
    rsAtmPvcStatsOutCells
        Counter64,
    rsAtmPvcStatsOutCellOctets
        Counter64,
    rsAtmPvcStatsOutPackets
        Counter64,
    rsAtmPvcStatsOutPacketOctets
        Counter64,
    rsAtmPvcStatsInCellErrors
        Counter32,
    rsAtmPvcStatsinPacketErrors
        Counter32,
    rsAtmPvcStatsOutCellErrors
        Counter32,
    rsAtmPvcStatsOutPacketErrors
        Counter32,
    rsAtmPvcStatsInPacketDiscards
        Counter32,
    rsAtmPvcStatsInPacketOctetDiscards
        Counter32
    }

rsAtmPvcStatsIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The ifIndex of the ATM interface." 
    ::= { rsAtmPvcStatisticsEntry 1 }

rsAtmPvcStatsVpi OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The VPI of the ATM VCC used by this ATM interface and PVC."
    ::= { rsAtmPvcStatisticsEntry 2 }

rsAtmPvcStatsVci OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The VCI of the ATM VCC used by this ATM interface and PVC."
    ::= { rsAtmPvcStatisticsEntry 3 }

rsAtmPvcStatsInCells OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Received cells."
    ::= { rsAtmPvcStatisticsEntry 4 }

rsAtmPvcStatsInCellOctets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Received cells octets."
    ::= { rsAtmPvcStatisticsEntry 5 }

rsAtmPvcStatsInPackets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Received AAL PDUs."
    ::= { rsAtmPvcStatisticsEntry 6 }

rsAtmPvcStatsInPacketOctets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Received AAL PDU octets."
    ::= { rsAtmPvcStatisticsEntry 7 }

rsAtmPvcStatsOutCells OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Transmitted cells."
    ::= { rsAtmPvcStatisticsEntry 8 }

rsAtmPvcStatsOutCellOctets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Transmitted cell octets."
    ::= { rsAtmPvcStatisticsEntry 9 }

rsAtmPvcStatsOutPackets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Transmitted AAL PDUs."
    ::= { rsAtmPvcStatisticsEntry 10 }

rsAtmPvcStatsOutPacketOctets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Transmitted AAL PDU octets."
    ::= { rsAtmPvcStatisticsEntry 11 }

rsAtmPvcStatsInCellErrors OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Received cells dropped due to errors."
    ::= { rsAtmPvcStatisticsEntry 12 }

rsAtmPvcStatsinPacketErrors OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Received packets dropped due to errors."
    ::= { rsAtmPvcStatisticsEntry 13 }

rsAtmPvcStatsOutCellErrors OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Cells not transmitted due to errors."
    ::= { rsAtmPvcStatisticsEntry 14 }

rsAtmPvcStatsOutPacketErrors OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Packets not transmitted due to errors."
    ::= { rsAtmPvcStatisticsEntry 15 }

rsAtmPvcStatsInPacketDiscards OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Received packets w/o errors discarded."
    ::= { rsAtmPvcStatisticsEntry 16 }

rsAtmPvcStatsInPacketOctetDiscards OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Received bytes w/o errors discarded."
    ::= { rsAtmPvcStatisticsEntry 17 }

--
-- The ATM Virtual Path Tunnel Table
--

rsAtmVpTunnelTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RsAtmVpTunnelEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains entries for ATM VP Tunnels present in the system."
    ::= { rsAtmIfLayer 4 }

rsAtmVpTunnelEntry OBJECT-TYPE
    SYNTAX      RsAtmVpTunnelEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each entry describes the characteristics of an ATM VP Tunnel."
    INDEX   { rsAtmVpTunnelIfIndex, rsAtmVpTunnelVpi }
    ::= { rsAtmVpTunnelTable 1 }

RsAtmVpTunnelEntry ::= SEQUENCE {
    rsAtmVpTunnelIfIndex
        InterfaceIndex,
    rsAtmVpTunnelVpi
        INTEGER,
    rsAtmVpTunnelKbps
        Integer32,
    rsAtmVpTunnelRowStatus
        RowStatus
    }

rsAtmVpTunnelIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The ifIndex of the ATM interface. The value of this
         object is the same as the rsAtmIfIndex object in
         the rsAtmIfTable.

         Entries in this table cannot be created unless the
         underlying ATM interface entry is created first in
         the rsAtmIfTable."
    ::= { rsAtmVpTunnelEntry 1 }

rsAtmVpTunnelVpi OBJECT-TYPE
    SYNTAX      INTEGER (0..255) 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The VPI value for this VP tunnel entry"
    ::= { rsAtmVpTunnelEntry 2 }

rsAtmVpTunnelKbps OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create 
    STATUS      current
    DESCRIPTION
        "The tunnel rate in Kilo bits/second (Kbps) for this entry"
    ::= { rsAtmVpTunnelEntry 3 }

rsAtmVpTunnelRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Controls creation/deletion of entries in this table
        according to the RowStatus textual convention, 
        constrained to support the following values only:

            createAndGo
            destroy
            
        To create an entry in this table, the following 
        entry objects MUST be explicitly configured:

            rsAtmVpTunnelRowStatus
            rsAtmVpTunnelKbps

        In addition, when creating an entry the following
        conditions must hold:

            A correponding rsAtmVpTunnelIfIndex value must have been
            created in the rsAtmIfTable previously. 

        "
    ::= { rsAtmVpTunnelEntry 4 }

-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Notification control objects
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

-- No notifications are defined in this MIB. Placeholder follows.

-- rsAtmTrapControl      OBJECT IDENTIFIER ::= { rsAtmMIB 2 }



-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Notifications
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

-- No notifications are defined in this MIB. Placeholder follows.

-- The following two OBJECT IDENTIFIERS are used to define SNMPv2 
-- Notifications that are easily translated into SNMPv1 Traps.

-- rsAtmTraps            OBJECT IDENTIFIER ::= { rsAtmMIB 3 }
-- rsAtmTrapPrefix       OBJECT IDENTIFIER ::= { rsAtmTraps 0 }



-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Conformance information
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

rsAtmConformance OBJECT IDENTIFIER ::= { rsAtmMIB 4 }
rsAtmCompliances OBJECT IDENTIFIER ::= { rsAtmConformance 1 }
rsAtmGroups      OBJECT IDENTIFIER ::= { rsAtmConformance 2 }

-- compliance statements

rsAtmCompliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
                "The compliance statement for entities which implement
                the Redstone ATM MIB."
        MODULE  -- this module
                MANDATORY-GROUPS { rsAtmGroup, rsAtmAal5Group, rsAtmSubIfGroup }
        ::= { rsAtmCompliances 1 }

-- units of conformance

rsAtmGroup OBJECT-GROUP
        OBJECTS {
                rsAtmNextIfIndex,

                rsAtmIfRowStatus,
                rsAtmIfLowerIfIndex,
                rsAtmIfOamCellRxAdminState, 
                rsAtmPvcStatsInCells,
                rsAtmPvcStatsInCellOctets,
                rsAtmPvcStatsInPackets,
                rsAtmPvcStatsInPacketOctets,
                rsAtmPvcStatsOutCells,
                rsAtmPvcStatsOutCellOctets,
                rsAtmPvcStatsOutPackets,
                rsAtmPvcStatsOutPacketOctets,
                rsAtmPvcStatsInCellErrors,
                rsAtmPvcStatsinPacketErrors,
                rsAtmPvcStatsOutCellErrors,
                rsAtmPvcStatsOutPacketErrors,
                rsAtmPvcStatsInPacketDiscards,
                rsAtmPvcStatsInPacketOctetDiscards
        }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing management of ATM interfaces
                in a Redstone product."
    ::= { rsAtmGroups 1 }

rsAtmAal5Group OBJECT-GROUP
        OBJECTS {
                rsAtmAal5NextIfIndex,

                rsAtmAal5IfRowStatus,
                rsAtmAal5IfLowerIfIndex
        }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing management of AAL5 interfaces
                in a Redstone product."
    ::= { rsAtmGroups 2 }

rsAtmSubIfGroup OBJECT-GROUP
        OBJECTS {
                rsAtmSubIfNextIfIndex,

                rsAtmSubIfRowStatus,
                rsAtmSubIfLowerIfIndex,
                rsAtmSubIfVccRowStatus,
                rsAtmSubIfVccVcd,
                rsAtmSubIfVccType,
                rsAtmSubIfVccServiceCategory,
                rsAtmSubIfVccPcr,
                rsAtmSubIfVccScr,
                rsAtmSubIfVccMbs,
                rsAtmSubIfVccRowStatus,
                rsAtmSubIfVccVcd,
                rsAtmSubIfVccType,
                rsAtmSubIfVccServiceCategory,
                rsAtmSubIfVccPcr,
                rsAtmSubIfVccScr,
                rsAtmSubIfVccMbs,

                rsAtmCircuitOamAdminStatus,
                rsAtmCircuitOamLoopbackOperStatus,
                rsAtmCircuitVcOamOperStatus,
                rsAtmCircuitOamLoopbackFrequency,
                rsAtmCircuitInOamF5Cells,
                rsAtmCircuitInOamCellsDropped,
                rsAtmCircuitOutOamF5Cells,
                rsAtmCircuitInOamF5EndToEndLoopbackCells,
                rsAtmCircuitInOamF5SegmentLoopbackCells,
                rsAtmCircuitInOamF5AisCells,
                rsAtmCircuitInOamF5RdiCells,
                rsAtmCircuitOutOamF5EndToEndLoopbackCells,
                rsAtmCircuitOutOamF5SegmentLoopbackCells,
                rsAtmCircuitOutOamF5RdiCells
        }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing management of ATM subinterfaces
                in a Redstone product."
    ::= { rsAtmGroups 3 }

END